Method for signal estimation in a receiver

ABSTRACT

In a method for a receiver a signal is received at the receiver, where after a Cholesky factor or a block Cholesky factor of the Schur complement or a negative of the Schur complement of a matrix is determined at a processor entity by deriving a generator matrix of the Schur complement or the negative of the Schur complement from the generator matrix of the matrix and then applying a Schur algorithm to the generator matrix of the Schur complement or the negative of the Schur complement. The derivation comprises permutating at least a part of matrix columns below a certain row, shifting these columns downward a predefined number of rows and deleting a number of top rows. A filter for the signal may then be defined by computing filter coefficients for filtering the signal based on the derived Cholesky factor or block Cholesky factor. In another application a received signal is estimated based on similar determinations.

FIELD OF THE INVENTION

[0001] The present invention relates to receivers, and in particular tofunctions such as signal estimation and/or filter selection in areceiver. The present invention may also be employed in otherapplications wherein factorisation of a matrix is required.

BACKGROUND OF THE INVENTION

[0002] Various receivers and reception of signals at a receiver as suchare known. For example, receivers may be used by various radiocommunication systems such as public land line mobile networks (PLMN) orsatellite based communication system for reception of signals fromtransmitter stations. The skilled person familiar with radiocommunication systems knows the basic technology, and it will thus notbe described in any greater detail. It is sufficient to note that in atypical wireless communication system a receiver part of a receivingstation receives radio frequency (RF) signals that have been generatedand transmitted by a transmitting station. When a signal is received atthe receiving station the radio frequency signal needs typically beprocessed. For example, operations such as filtering of the RF signals,down-conversion from the radio frequency to baseband frequency and so onmay be performed.

[0003] Signals may be transmitted in a plurality of frequency bands.Signals associated with different transmissions may also be transmittedon a frequency band. Upon reception of such signals the signals need tobe separated from each other at the receiver. The separation can beaccomplished by means of a filter function of the receiver. Thefiltering of a signal is accomplished by an appropriate filter that hasbeen selected among a plurality of possible filters. Thus the filteringfunction shall be able to select a correct filter for a particularreception of signals so as to optimise the desired signal in relation tointerference and noise.

[0004] The separation is required e.g. in a so called MIMO(multiple-input multiple-output) transceiver. A MIMO transceivercomprises multiple input and Output antennae.

[0005] Theoretically a MIMO transceiver provides more capacity inproportion to the number of input/output antennae.

[0006] A MIMO reception method is presented in detail in publication‘IEEE Transactions on signal processing’, Vol. 48, No. 10, October 2000in an article by N. Al-Dhahir and A. H. Sayed titled ‘The Finite-LengthMulti-input Multi-Output MMSE-DFE’. This article describes closed formderivations for the optimum filter settings of a finite-length MIMOminimum-mean-square-error decision feedback equaliser (MMSE-DFE) underthree multi-user detection scenarios. Fast factorisation algorithms aregiven for deriving the so called Cholesky factors of matrices with adisplacement structure. The Cholesky factor is also sometimes referredto as a lower triangular factor of a matrix. The article derives MIMOMMSE-DFE prefilter computation algorithms suitable for a real-timeimplementation. The MMSE-DFE type of pre-filter can be used, withoutlimiting to these, e.g. in the GSM-EDGE (Global System forMobile—Enhanced Data rate for GSM Evolution) receivers.

[0007] The complete derivation of optimum feedforward and feedbackmatrix filter algorithms is rather long and tedious. Instead ofrepeating it in here those interested can find the prior art derivationfrom the above referenced article by N. Al-Dhahir and A. H. Sayed.Further information on the mathematical basis of the fast algorithms,especially displacement, shift matrices and the generalized Schuralgorithm applied here, can be found in the book ‘Fast ReliableAlgorithms for Matrices with Structure’, edited by T. Kailath and A. H.Sayed (SIAM 1999).

[0008] A brief description of symbols used in the equations is givenbelow before discussing the background art in more detail. In theequations:

[0009] υ maximum length of all the n₀n_(i) channel impulse responses

[0010] D_(n) Noise variance matrix

[0011] D_(x) Input variance matrix

[0012] F Combined shift-matrix

[0013] G Generator matrix for the Fast Factorization

[0014] H Channel matrix containing channel impulse responses

[0015] I Unit matrix

[0016] J Signature matrix: diag(I_(p), −I_(q))

[0017] L The result of the factorization of matrix M. L is a lowertriangular matrix with positive diagonal entries, i.e. the Choleskyfactor.

[0018] N_(f) Filter length

[0019] l oversampling factor

[0020] n_(i) number of input antennas

[0021] n_(o) Number of output antennas

[0022] R_(nn) Noise auto-correlation matrix

[0023] R_(xx) Input auto-correlation matrix

[0024] T Channel impulse responses (top row of matrix H)

[0025] Z_(ni) Shift matrix for noise auto-correlation

[0026] Z_(no) Shift matrix for input auto-correlation

[0027] The following notations are also used in this description:

[0028] diag(a,b) diagonal matrix with the elements a and b on thediagonal

[0029] mod modulo operator

[0030] (.)* complex-conjugate transpose of a matrix or a vector

[0031] (.)⁻¹ matrix inverse

[0032] [a b . . . ] vector consisting of the elements a,b, . . .

[0033] G(c) G after c iterations of the Fast Factorization algorithm

[0034] The Schur complement mentioned later can be defined by matrix:$\quad {R = {\begin{matrix}P_{i} & Q_{i}^{*} \\Q_{i} & S_{i}\end{matrix}}}$

[0035] The Schur complement of R is:

R _(i) =S _(i) −Q _(i) P _(i) ⁻¹ Q _(i)*

[0036] The relevant part of the above referenced article that is thesubject of this specification is the derivation of a Cholesky factor formatrix R, defined as

R=R _(xx) ⁻¹ +H*R _(nn) ⁻¹ H

[0037] The the Cholesky factor of R and its inverse can be used in thecalculation of optimal feedforward and feedback filter matrices. Theabove referenced article by Al-Dhahir and Sayed presents formulas forone way of calculating the feedback and feedforward filters using theCholesky factor (or Block Cholesky factor) of R. The negative of R canbe obtained as the Schur complement of the block-Hermitian matrix M.$M = {\begin{matrix}R_{nn} & H \\H^{*} & {- R_{xx}}\end{matrix}}$

[0038] which satisfies ${M - {FMF}^{\quad*}} = {\begin{matrix}D_{n} & 0 & T & 0 \\0 & 0 & 0 & 0 \\T^{*} & 0 & {- D_{x}^{- 1}} & 0 \\0 & 0 & 0 & 0\end{matrix}}$

[0039] I.e. the matrix M represents a displacement structure. In otherwords, since R is the (negative of) Schur complement of M this meansthat its lower triangular decomposition is a (lower-right corner)sub-matrix of the lower triangular decomposition of M.

[0040] Input auto-correlation matrix R_(xx) and noise auto-correlationmatrix R_(nn) are in turn defined in the article as block-diagonalmatrices $R_{xx} = {\begin{matrix}D_{x} & \quad & \quad \\\quad & \cdots & \quad \\\quad & \quad & D_{x}\end{matrix}}$ $R_{nn} = {\begin{matrix}D_{n} & \quad & \quad \\\quad & \cdots & \quad \\\quad & \quad & D_{n}\end{matrix}}$

[0041] D_(x) (n_(i)×n_(i)) and D_(n) (n₀1×n₀1) are block-diagonalmatrices with input and noise variances. $D_{x} = {\begin{matrix}\sigma_{x,1}^{2} & \quad & \quad \\\quad & \cdots & \quad \\\quad & \quad & \sigma_{x,{ni}}^{2}\end{matrix}}$ $D_{n} = {\begin{matrix}{\sigma_{n,1}^{2}I_{1}} & \quad & \quad \\\quad & \cdots & \quad \\\quad & \quad & {\sigma_{n,{no}}^{2}I_{1}}\end{matrix}}$

[0042] The Channel Matrix H is given by $H = {\begin{matrix}H_{0} & H_{1} & \ldots & H_{\upsilon} & \quad & \quad & \quad & \quad \\\quad & H_{0} & H_{1} & \ldots & H_{\upsilon} & \quad & \quad & \quad \\\quad & \quad & \quad & \ldots & \quad & \quad & \quad & \quad \\\quad & \quad & \quad & \quad & H_{0} & H_{1} & \ldots & H_{\upsilon}\end{matrix}}$

[0043] where each H_(i) is n₀1×n_(i) and where H has N_(f) block rowsand (N_(f)+υ) block columnsHHhhh.

T=[H ₀ H ₁ . . . H _(υ)],

[0044] which is n₀ 1×n_(i)υ.

[0045] Matrix M satisfies M−FMF*=GJG, where $J = {\begin{matrix}I_{{no} \times 1} & \quad & \quad \\\quad & {- I_{{no} \times 1}} & \quad \\\quad & \quad & {- I_{ni}}\end{matrix}}$

[0046] and G is a so-called generator matrix. The generator matrix G isgiven by $G = {\begin{matrix}D_{n}^{1/2} & \quad & 0 & 0 \\0_{{n0} \times 1} & \quad & 0_{{n0} \times 1} & 0 \\\quad & \cdots & \quad & \quad \\H_{0}^{*} & \quad & H_{0}^{*} & D_{x}^{{- 1}/2} \\H_{1}^{*} & \quad & H_{1}^{*} & 0_{ni} \\\quad & \cdots & \quad & \quad \\H_{\upsilon}^{*} & \quad & H_{\upsilon}^{*} & 0_{ni} \\0_{ni} & \quad & 0_{ni} & 0_{ni} \\\vdots & \quad & \vdots & \vdots \\0_{ni} & \quad & 0_{ni} & 0_{ni}\end{matrix}}$

[0047] wherein H_(i)=D_(n) ^(−1/2) H_(i). The matrix M is a structuredmatrix which is amenable to fast factorization by the so-calledgeneralized Schur algorithm.

[0048] There are N_(f)−1 block zero rows between D_(n) ^(1/2) and H₀*and N_(f)+υ−1 block zeros in the last column underneath D_(x) ^(−1/2).

[0049] Tile above referenced article and book describe the Fast StandardFactorization algorithm (the generalized Schur algorithm) for factoringinto lower triangular form L, wherein

M=LJL*

[0050] and $L = {\begin{matrix}L_{1} & \quad \\L_{2} & L_{3}\end{matrix}}$

[0051] where L₃ has dimensions (N_(f)+υ)n_(i)×(N_(f)+υ)n_(i). The L₃parameter is a desired lower triangular factor of R, i.e. R=L₃L₃*. Thisfactor can be used for the computation of the feedforward and feedbackfilters.

[0052] The shift matrix F is defined as $F = {\begin{matrix}Z_{no} & \quad \\\quad & Z_{ni}\end{matrix}}$

[0053] where $Z_{n\quad o} = {\begin{matrix}0_{nol} & \quad & \quad & \quad \\I_{nol} & 0_{nol} & \quad & \quad \\\quad & \cdots & \quad & \quad \\\quad & \quad & I_{nol} & 0_{nol}\end{matrix}}$

[0054] and $Z_{n\quad i} = {\begin{matrix}0_{ni} & \quad & \quad & \quad \\I_{ni} & 0_{ni} & \quad & \quad \\\quad & \cdots & \quad & \quad \\\quad & \quad & I_{ni} & 0_{ni}\end{matrix}}$

[0055] The factorization leads to the form $M = {{L{\begin{matrix}I_{Nfnol} & \quad \\\quad & {- I_{{({{Nf} + \upsilon})}n\quad i}} \\\quad & \quad\end{matrix}}\quad L^{*}} = {L\quad J_{M}\quad L^{*}}}$

[0056] where L is a louver triangular and J_(M) is the inertia matrix.

[0057] The fast factorization algorithm for obtaining standard Choleskyfactor is described below. Lets assume that G(0)=G, and F(0)=F. Eachround i (i>=0) of the algorithm produces the next generator matrixG(i+1), and for each new round one should increment i. The algorithmrepeats the following steps as long as there are row left in theresulting matrix G(i+1). For positive inertia entries in J_(M) theprocedure is:

[0058] 1) The top row of the generator matrix G(i) is transformed into[δ0 0 . . . 0] by (J−) unitary rotations.

[0059] 2) Apply the transformation in 1 to all the rows in the generatormatrix G(i)

[0060] 3) The leftmost column is the next column in L

[0061] 4) The leftmost column in G(i) is multiplied by the shift matrixF(i)

[0062] 5) To get F(i+1), delete the first row and column of F(i)

[0063] 6) Delete the top row of G(i) to get G(i+1)

[0064] 7) Return to step 1

[0065] For negative inertia entries in J_(M) the procedure is:

[0066] 1) The top row of the generator matrix G(i) is transformed into[0 . . . δ0 . . . 0] by (J−) unitary rotations. Here δ is the entrynumber n₀ 1+1, i.e. the first entry for which the corresponding entry inJ is −1.

[0067] 2) Apply the transformation in 1 to all the rows in the generatormatrix G(i).

[0068] 3) The (n₀ 1+1)th column is the next column in L

[0069] 4) The (n₀ 1+1)th column in G(i) is multiplied by the shiftmatrix F(i)

[0070] 5) To get F(i+1), delete the first row and column of F(i)

[0071] 6) Delete tile top row of G(i) to get G(i+1)

[0072] 7) Return to step 1

[0073] When G(i) has no rows left , the algorithm has produced afactorisation of matrix M , that is a lower triangular matrix L withpositive diagonal entries. Those interested can find a thoroughdescription of the prior art algorithm from the previously mentionedarticle by Al-Dhahir and Sayed and/or the book by Kailath and Sayed.

[0074] However, the inventor has found that the suggested factorisationis a substantially complex procedure, the proposed algorithm employingsubstantially heavy matrix computations. The computations are timeconsuming and also require lots of computing capacity from the receivingentity for selection of a correct filter. The method may also not befast enough for all receiver applications.

SUMMARY OF THE INVENTION

[0075] Embodiments of the present invention aim to address one orseveral of the above problems and to provide an improved solution foroperations such as selection of a filter in a receiver or estimation ofa signal.

[0076] According to one aspect of the present invention, there isprovided a method for a receiver, the method comprising: receiving asignal at a receiver; deriving at a processor entity a Cholesky factoror a block Cholesky factor of the Schur complement or a negative of theSchur complement of a matrix by deriving a generator matrix of the Schurcomplement or the negative of the Schur complement from the generatormatrix of the matrix and then applying a Schur algorithm to thegenerator matrix of the Schur complement or the negative of the Schurcomplement, the derivation comprising permutating at least a part ofmatrix columns below a certain row, shifting these columns downward apredefined number of rows and deleting a number of top rows; anddefining a filter for the signal by computing filter coefficients forfiltering the signal based on the derived Cholesky factor or blockCholesky factor.

[0077] According to another aspect of the present invention there isprovided a method in a receiver, the method comprising: receiving asignal; determining at a processor entity an estimate of the receivedsignal where a Cholesky factor or a block Cholesky factor of the Schurcomplement of a Matrix is used for finding the inverse of the Schurcomplement matrix, wherein the derivation of the generator matrix forthe Schur complement comprises permutating at least a part of matrixcolumns below a certain row, shifting these columns downward apredefined number of rows and deleting a number of top rows; andcomputing the estimate of the signal based on the derived Choleskyfactor or block Cholesky factor.

[0078] According to another aspect of the present invention there isprovided a receiver comprising: antenna means for receiving a signal;and a processor entity for deriving a Cholesky factor or a blockCholesky factor of the Schur complement or a negative of the Schurcomplement of a matrix and for defining a filter for the signal bycomputing filter coefficients for filtering the signal based on thederived Cholesky factor or block Cholesky factor, the processor entitybeing arranged to derive a generator matrix of the Schur complement orthe negative of the Schur complement from the generator matrix of thematrix and then to apply a Schur algorithm to the generator matrix ofthe Schur complement or the negative of the Schur complement, thederivation being provided by permutating at least a part of matrixcolumns below a certain row, shifting these columns downward apredefined number of rows and deleting a number of top rows.

[0079] According to another aspect of the present invention there isprovided a receiver, comprising: antenna means for receiving a signal;and a processor entity for determining an estimate of the receivedsignal based on a derived Cholesky factor or block Cholesky factor bymeans of an arrangement wherein the Cholesky factor or a block Choleskyfactor of the Schur complement of a matrix is used for finding theinverse of the Schur complement and the derivation of tile generatormatrix for the Schur complement comprises permutating at least a part ofmatrix columns below a certain row, shifting these columns downward apredefined number of rows and deleting a number of top rows.

[0080] The embodiments of the invention may reduce the complexity offinding a filter matrix Such as a feedforward filter matrix in areceiver and/or estimation of a received signal. Complexity may bereduced especially in a MIMO environment. A faster filter selectionand/or signal estimation may thus be provided.

BRIEF DESCRIPTION OF DRAWINGS

[0081] For better understanding of the present invention, reference willnow be made by way of example to the accompanying drawings in which:

[0082]FIG. 1 shows an environment wherein the present invention may mebe employed;

[0083]FIG. 2 shows a filtering function; and

[0084]FIG. 3 is a flowchart illustrating the operation of an embodiment.

DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION

[0085] Reference is first made to FIG. 1 which shows a block diagram foran arrangement wherein the optimised fast factorisation for amulti-input multi-output (MIMO) reception environment described belowcan be applied to. In FIG. 1 radio frequency signals are transmitted ina multi-input multi-output (MIMO) channel. More particularly, signalstransmitted from a multi-antenna transmitter antennae 1 to 3 arereceived by antennae 11 to 13 of a multi-antenna receiver. As shownschematically, the signals on a frequency channel become mixed at nduring the transmission. Thus the arrows n designate a combined signalthat includes components from all of the RF signals from antennae 1 to 3and possible noise components.

[0086] Each of the reception antennae 11 to 13 of a multi-antennaereceiver 10 will thus receive a mixture of signals from transmitterantennae 1 to 3. Separation of the received signals is required in orderto be able to produce a meaningful output signal from the combinedsignals received by antennae 11 to 13. The separation can be provided bymeans of a filter that is optimal for a particular signal.

[0087] The filter can be determined based on analysis of the receivedsignal. In accordance with an embodiment optimal feed-forward filtersfor a minimum-mean-square-error decision feedback equalizer (MMSE-DFE)need to be calculated for each of the received signals.

[0088]FIG. 2 describes a possible structure of a decision-feedbackequalizer. The manner how a feedforward filter 20 and a feedback filter22 can be employed in decision feedback equalizer is presented toillustrate how the feedforward and feedback filters may be used in DFEequalization. More particularly, FIG. 2 describes how the signal that isprocessed through the feedforward filter is fed into the equalizer.Block 21 illustrates is a symbol-by-symbol detector. Input data for thefeedforward filter comprises the input signal from the receiverantennas. The resulting data is referred herein as filtered data. Itshall be appreciated that the Cholesky factor (or block Cholesky factor)is used only in obtaining the filter taps, and as such does not have anyrelation to the filtered data.

[0089] The present invention provides a fast way of calculating thefilter taps for these filters. The input to the feedforward filter 20 isthe received signal sequence. The input to the feedback filter 22 is thesequence of decisions on previously detected symbols. Since theoperation of the decision-feedback equalisers as such is known, thiswill not be explained in any greater detail herein.

[0090] In a preferred embodiment a matrix R is amenable to factorizationby a generalized Schur-algorithm. Computation of the pre-filtercoefficients of a MMSE-MFE decision feedback equaliser is made faster bysimplifying the required computations. The inventor has found that whenthe noise is white it is possible to analytically derive from G agenerator matrix

G _(R) =G(N _(f) *n ₀*1)

[0091] for which

R−Z _(ni) RZ _(ni) *=G _(R) JG _(R)*,

[0092] instead of calculating G_(R) as a result of the first N_(f)*n₀*1rounds of the Schur algorithm applied to G as was suggested in the priorart solution by Al-Dhahir and Sayed. This results in a substantialdecrease in complexity.

[0093] The noise can be assumed to be white in most instances. The noisemay also be whitened e.g. by means of an appropriate filter arrangement.

[0094] It shall be appreciated that in this specification the term“round” means the production of G(i+1) from G(i) by the generalizedSchur algorithm. That is, when computing the filter parameters we do notneed to go through producing the generator matrices G(1)−G(N_(f)*n₀*1−1)and the corresponding sub-matrices L₁ and L₂ of the lower triangular ofM. The generator matrix G_(R)=G(N_(f)n₀1) after the first N_(f)n₀1rounds can be calculated analytically without going through the steps,and is sufficient for the production of the matrix L₃, which is thedesired lower triangular factor of R.

[0095] In a preferred embodiment the generalized Schur algorithm isapplied to G_(R) instead of G. An essential realisation in here is thatit is not necessary to decompose the entire matrix M. Instead, agenerator matrix G_(R) can be found that (when applied to thegeneralized Schur algorithm) only produces the sub-matrix L₃ which isthe lower triangular factor of R. The sub-matrix L₃ has the samedimensions as the matrix R: (N_(f)+υ)n_(i)×(N_(f)+υ)n_(i). In the abovethe term n_(i) is the number of transmitter antennae. The term υ is themaximum of the channel impulse response lengths. These terms as such areknown by the skilled person and the derivation of these terms does notform an essential part of the invention. Therefore these terms andderivation thereof will thus not be explained in more detail. It shouldalso be noted that G_(R) can be also used to obtain a block Choleskyfactor of matrix R by applying the fast block factorization algorithmdescribed in the article by Al-Dhahir and Sayed.

[0096] The above discussed sub-matrix L₃ is needed for calculating theoptimal feedback and/or feed-forward filters forminimum-mean-square-error decision feedback equalizer (MMSE-DFE). Theimproved method provides the necessary input matrix G(N_(f)n₀1) neededfor calculating L₃. The inventor has found that a complete factorisationof the matrix M is not required during the computations since only thesub-matrix L₃ is required. That is, we are only interested in thesub-matrix element L₃ in matrix L. This means that we are uninterestedin the first N_(f)n₀1 columns in matrix L (essentially the components L₁and L₂) and do not need to produce them. The sub-matrix L₃ can beproduced by analytically deriving a generator matrix for it and applyingthe generalized Schur algorithm to that generator matrix.

[0097] A more detailed example how to pass at least few of the firstrounds will be described below. It shall be appreciated that in order toavoid unnecessary repetition of the discussion above the matrices andother terms discussed above will not be reproduced. Instead, a referenceis made to the description of the background whenever this isappropriate.

[0098] The execution of the first N_(f)n₀1 rounds may be improved inapplication wherein the Fast Factorization Algorithm described above isused when D_(n) is diagonal. This can also be expressed as calculatingG(N_(f)n₀1). The last (N_(f)+υ)*n_(i) rounds of the algorithm are notaffected by this method, and therefore these are not described.

[0099] A substantial improvement to the above described fastfactorisation algorithm can be found which D_(n) is diagonal, i.e. noiseis white. When this is the case, the unitary rotations in thecorresponding steps are reduced into permutations. This means that arotation of the matrix can be achieved simply by swapping two columns.This may be applied to the first n₀1 columns corresponding to thecolumns with positive diagonal elements in J, which is sufficient inthis case.

[0100] Multiplying the first column with F means also that the elementsin the first column below row N_(f)n₀1 are shifted n_(i) rows downwardswith zeros added to their place. Due to the column permutations each ofthe first n₀1 columns (below row N_(f)n₀1) gets shifted downwards onceevery n₀ 1 rounds of the algorithm.

[0101] All of the N_(f)n₀1 first steps have preferably correspondingpositive inertia entries, that is the corresponding diagonal elements inJ_(M) are positive (+1.0).

[0102] The inventor has found that if the value of matrix G(N_(f)n₀1)could be found without going through the first N_(f)n₀ 1 rounds of thealgorithm, it would be possible to calculate the desired sub-matrix L₃.The following chapter presents a particular example of this.

[0103] In the processing, each one of the n₀ 1 first columns in thegenerator matrix below the N_(f)n₀1:th row is moved N_(f)*n_(i) rowsdownwards. The positions of the matrix left empty are then filled withzeros. In the next step the permutation of the columns after xiterations of the Fast Factorisation algorithm are given by the formulas

f ₀(x)=x mod n

f _(k)(x)=(n−1)−[((x mod n(n−1))+n(n−1−k)) mod n(n−1)] div (n−1)

[0104] wherein n x n denotes the dimension of the upper-left sub-matrix

[0105] (in this case n=n₀1, the dimension of D_(n))

[0106] k denotes the column number and

[0107] x refers to the G(x) for which permutation is to be computed (inthis case N_(f)n₀1)

[0108] f_(k)(x) denotes corresponding original column.

[0109] For example, if the original columns of matrix G below N_(f)n₀ 1rows were [a b c d] and after x iterations they were [b c d a], thenf₀(x)=1, f₁(x)=2, f₂(x)=3, and f₃(x)=0.

[0110] Finally the top N_(f)n₀1 rows are deleted to obtainG_(R)(=G(N_(f)n₀1)).

[0111] An alternative to using the above discussed formula is findingout the permutation and the downward shifts by running the prior artalgorithm once. The permutation and downward shifts will be the same forany generator matrix G with the same parameters N_(f), υ, n_(i), n₀, and1, on the condition that D_(n) ^(1/2) is a diagonal matrix (i.e. noiseis white). So if the original generator matrix G was$G = {\begin{matrix}\begin{matrix}\begin{matrix}{D_{n}^{1/2}(0)} & \quad & 0 & 0 \\0 & {D_{n}^{1/2}(1)} & 0_{{n0} \times 1} & 0\end{matrix}\end{matrix} \\\cdots \\\begin{matrix}\quad & 0 & {D_{n}^{1/2}\left( {{n_{o}l} - 1} \right)} & \quad \\0 & 0 & 0 & {0\quad}\end{matrix} \\\cdots \\{{a(0)}\quad {a(1)}\quad \ldots \quad {{a\left( {{n_{o}I} - 1} \right)}\quad}_{\ldots \quad}D_{x}^{{- 1}/2}} \\\begin{matrix}0_{n\quad i} & \quad & \quad & 0_{n\quad i} & \quad & \quad & 0_{n\quad i} \\\vdots & \quad & \quad & \vdots & \quad & \quad & \vdots \\0_{n\quad i} & \quad & \quad & 0_{n\quad i} & \quad & \quad & 0_{n\quad i}\end{matrix}\end{matrix}}$

[0112] where a(i) are N_(f)n_(i)×1 vectors and there are N_(f)+υ−1n_(i)×n_(i) block zero sub-matrices below D_(x) ^(−1/2).${{The}\quad {matrix}\quad \Gamma_{R}} = {\begin{matrix}{0\left( {N_{f}n_{o}l \times \left( {{2*n_{o}l} + {n_{i}l}} \right)} \right)} \\{G\left( {N_{f}n_{o}l} \right)}\end{matrix}}$

[0113] would be after N_(f) n₀ 1 iterations of fast factorisation:$\Gamma_{R} = {{\begin{matrix}\begin{matrix}\begin{matrix}0 & 0 & \quad & \quad & 0 & 0 & 0 & \quad \\0 & 0 & \quad & \quad & 0 & 0 & 0 & \quad \\\quad & \quad & {\cdots \quad} & \quad & \quad & \quad & \quad & \quad \\0 & 0 & 0 & \quad & 0 & 0 & 0 & \quad\end{matrix} \\{\cdots \quad} \\{0\quad 0\quad \ldots \quad 0\quad \ldots \quad {a\left( {n_{o}\quad l} \right)}\quad \ldots \quad D_{x}^{{- 1}/2}}\end{matrix} \\{\cdots \quad} \\{a\left( {{f_{o}\left( {N_{f}n_{o}l} \right)}\quad \ldots \quad {a\left( {f_{{fnol} - 1}\left( {N_{f}n_{o}l} \right)} \right)}\quad 0\quad 0} \right.}\end{matrix}}\begin{matrix}{\left. \begin{matrix}\quad \\\quad \\\quad \\\quad \\\quad\end{matrix} \right\} N_{f}n_{o}l\quad {rows}\quad {of}\quad {zeros}} \\{{\left. \begin{matrix}\quad \\\quad\end{matrix} \right\} \begin{matrix}{N_{f}n_{i}\quad {rows}\quad {where}\quad {the}\quad {first}} \\{n_{o}l\quad {elements}\quad {are}\quad {zeroes}}\end{matrix}}\quad} \\\quad\end{matrix}}$

[0114] and the corresponding generator matrix G_(R) for R after theelimination of the N_(f)n₀1 top zero lines below. If the vectors a(i) donot fit into Γ_(R) (and G_(R)) after they have been moved downwardsN_(f)n_(i) rows, they can be truncated so as to fit them into thematrix. Depending on the values of N_(f) and υ there may be zeroelements below the vectors a(i) in Γ_(R) and G_(R).$\left. {G_{R} = {\begin{matrix}{0\quad 0\quad \ldots \quad 0\quad \ldots \quad {a\left( {n_{o}\quad l} \right)}\quad \ldots \quad D_{x}^{{- 1}/2}} \\{\quad \cdots \quad} \\{a\left( {{f_{o}\left( {N_{f}n_{o}l} \right)}\quad \ldots \quad a\quad \left( {f_{{fnol} - 1}\left( {N_{f}n_{o}l} \right)} \right)\quad 0\quad 0} \right.}\end{matrix}}} \right\} \begin{matrix}\begin{matrix}{N_{f}n_{i}\quad {rows}\quad {where}} \\{{{the}\quad {first}\quad n_{o}l}\quad}\end{matrix} \\{{elements}\quad {are}\quad {zeroes}}\end{matrix}$

[0115] This matrix can be directly calculated by the above formulaswithout going through the first N_(f)n₀1 steps of the fast factorizationalgorithm. Alternatively, the algorithm can be run in advance to findout how the column permutation is changed after the first N_(f)n₀1rounds.

[0116] This idea covers analytic calculation of any G(x) for optimizingthe calculation of the Cholesky factor of R. The concept can be extendedto cover the derivation of G(x) for any matrix M having a Schurcomplement matrix and a generator matrix, that satisfies the conditionthat the upper x rows are zeroes expect for a diagonal upper-leftsub-matrix of dimension n*n; and the calculation of the Cholesky factorbased on G(x). Note, that if x mod n≠0, then all the vectors a(i) aremoved downward n_(i)*(x/n) rows, except the vectors a(i) for which i<(xmod n) are moved downward extra n_(i) rows. The formula for thepermutation is the same even in that case. The number of top rows to bedeleted from G(0) (after permutations and downward shifts) to obtainG(x) is x. (n is again the dimension of the top left diagonalsub-matrix, in our case the dimension of D_(n) i.e. n₀1.) Note also,that in the general factorization case n_(i) denotes just the shiftperformed by Z_(ni), not necessarily the number of antennas.

[0117] The Inventor has found that the present invention mayapproximately halve the processing time needed for factorizing thematrix R with typical parameters N_(f)=8, n₀=2, n_(i)=2, and 1=2 from360 000 clock cycles of the prior art method to 175 000 clock cycles.This is a substantial improvement as the Cholesky factorization isresponsible for over 50% of the prefilter tap calculation complexityeven when optimized. This result has been obtained in simulations usinga floating point model with no special optimizations. The clock cyclemeasurements were made with Pentium clock cycle counter using 600 MHzPentium III.

[0118] Another example of possible application of the above discussedmethod is estimation of a signal. Let assume that the received andtransmitted signals y and x are linearly related, say such that

y=Hx+n,

[0119] where y is the received signal, x the transmitted signal, H thechannel matrix and n zero-mean random-noise vector uncorrelated with x.

[0120] The corresponding minimum-mean-square-error (m.m.s.e.) estimateof x can then be written as

x{circumflex over (0)}=K ₀ y,

[0121] where K₀=(R_(xx) ⁻¹ +H*R _(nn) ⁻¹ H)⁻¹ H*R _(nn) ⁻¹.

[0122] The inverse of the term R_(xx) ⁻¹+H*R_(nn) ⁻¹H can be found byFirst finding the Cholesky factors L and D in

R _(xx) ⁻¹ +H*R _(nn) ⁻¹ H=LDL*

[0123] by the above presented fast method. The inverse L⁻¹ can then bedetermined e.g. by back-substitution from LX=I. Finally

(R _(xx) ⁻¹ +H*R _(nn) ⁻¹ H)⁻¹=(LDL*)⁻¹ =L* ⁻¹ D ⁻¹ L ⁻¹.

[0124] In general, the method can be applied to any estimation problem,where the Cholesky factor or inverse of a matrix with displacementstructure is needed. The above disclosed solution is applicable also forseeking an optimised solution for any linear model.

[0125] Instead of a “standard” Cholesky factor, a block Cholesky factormay be used. Opposed to a standard Cholesky factor the block Choleskyfactor is a lower triangular factor composed of (e.g. n_(i)×n_(i))blocks of elements. A more detailed description of the block Choleskyfactor can be found from the above refereced article by Al-Dhahir,Sayed, see page 2926 lower right corner the scalar and block definitionsfor L.

[0126] This invention presents an improvement to the fast algorithmproducing the Cholesky factor. The fast factorisation method may be usedfor any matrix, providing that the matrix represents a displacementstructure, has a generator matrix G for which M−FMF*=GJG*, and that theupper-left corner component in place of D_(n) in the generator matrix isa diagonal matrix. In the general case the matrix F may be any shiftmatrix.

[0127] It should be appreciated that whilst embodiments of the presentinvention have been described in relation to MIMO multi-antennastations, embodiments of the present invention are applicable to anyother suitable type of radio equipment wherein properties of signalsneed to be estimated. This includes single antenna stations.

[0128] In the above a method is presented for finding out anintermediate generator-matrix for the so-called generalized Schuralgorithm. For a special type of a sparse matrix it is possible to skipover a number of steps of this algorithm, when only partialfactorisation is needed. The embodiments are believed to be especiallysuitable for use in optimisation of a MIMO (multiple input and outputantennas) reception process. Due to the reduced complexity theperformance of the prior art solutions can be improved by thisinvention, and the use of a preceding factorisation algorithm can becompletely eliminated for Fast Block Factorisation, such as the onesuggested by the above discussed article.

[0129] It is also noted herein that while the above describesexemplifying embodiments of the invention, there are several variationsand modifications which may be made to the disclosed solution withoutdeparting from the scope of the present invention as defined in theappended claims.

1. A method for a receiver, the method comprising: receiving a signal ata receiver; deriving at a processor entity a Cholesky factor or a blockCholesky factor of the Schur complement or a negative of the Schurcomplement of a matrix by deriving a generator matrix of the Schurcomplement or the negative of the Schur complement from the generatormatrix of the matrix and then applying a Schur algorithm to thegenerator matrix of the Schur complement or the negative of the Schurcomplement, the derivation comprising permutating at least a part ofmatrix columns below a certain row, shifting these columns downward apredefined number of rows and deleting a number of top rows; anddefining a filter for the signal by computing filter coefficients forfiltering the signal based on the derived Cholesky factor or blockCholesky factor.
 2. A method as claimed in claim 1, comprising use of ageneralised Schur algorithm in the factorisation.
 3. A method as claimedin claim 1 or 2, wherein the derivation of the generator matrix for theSchur complement or the negative of the Schur complement is at leastpartially an analytic operation.
 4. A method as claimed in any precedingclaim, wherein the filter comprises a feedforward filter and/or afeedback filter of an equalizer.
 5. A method as claimed in claim 4,wherein the equalizer comprises a decision feedback equalizer.
 6. Amethod as claimed in claim 5, wherein a minimum-mean-square-errordecision feedback equalizer (MMSE-DFE) prefilter is computed.
 7. Amethod as claimed in any preceding claim, wherein a multiple ofsimultaneous signals is received by means of a plurality of antennae. 8.A method as claimed in claim 7, wherein the reception of signals occursin the multiple-input multiple-output (MIMO) environment.
 9. A method asclaimed in any preceding claim, wherein the Cholesky factor or a blockCholesky factor of a matrix with displacement structure forminimum-mean-square-error decision feedback equalizer (MMSE-DFE)prefilter calculations is computed, the matrix to be factorized beingbased on an input auto-correlation matrix, a noise auto-correlationmatrix, and a channel matrix.
 10. A method in a receiver, comprising:receiving a signal; determining at a processor entity an estimate of thereceived signal where a Cholesky factor or a block Cholesky factor ofthe Schur complement of a matrix is used for finding the inverse of theSchur complement matrix, wherein the derivation of the generator matrixfor the Schur complement comprises permutating at least a part of matrixcolumns below a certain row, shifting these columns downward apredefined number of rows and deleting a number of top rows; andcomputing the estimate of the signal based on the derived Choleskyfactor or block Cholesky factor.
 11. A method as claimed in claim 10,comprising use of a generalised Schur algorithm in the factorisation.12. A method as claimed in claim 10 or 11, wherein the derivation of thegenerator matrix for the Schur complement or the negative of the Schurcomplement is at least partially an analytic operation.
 13. A method asclaimed in any of claims 10 to 12, wherein the Cholesky factor of amatrix which can be presented as a Schur complement of another matrix iscomputed for determining the minimum-mean-square-error (MMSE) estimateof the received signal when the signal adheres to a linear model.
 14. Areceiver comprising: antenna means for receiving a signal; a processorentity for deriving a Cholesky factor or a block Cholesky factor of theSchur complement or a negative of the Schur complement of a matrix andfor defining a filter for the signal by computing filter coefficientsfor filtering tile signal based on the derived Cholesky factor or blockCholesky factor, the processor entity being arranged to derive agenerator matrix of the Schur complement or the negative of the Schurcomplement from the generator matrix of the matrix and then to apply aSchur algorithm to the generator matrix of the Schur complement or thenegative of the Schur complement, the derivation being provided bypermutating at least a part of matrix columns below a certain row,shifting these columns downward a predefined number of rows and deletinga number of top rows.
 15. A receiver, comprising: antenna means forreceiving a signal; a processor entity for determining an estimate ofthe received signal based on a derived Cholesky factor or block Choleskyfactor by means of an arrangement wherein the Cholesky factor or a blockCholesky factor of the Schur complement of a matrix is used for findingthe inverse of the Schur complement and the derivation of the generatormatrix for the Schur complement comprises permutating at least a part ofmatrix columns below a certain row, shifting these columns downward apredefined number of rows and deletion of a number of top rows.